package com.rc.saas.tenant.service.enterprise;

import com.github.pagehelper.PageInfo;
import com.rc.saas.tenant.base.BaseService;
import com.rc.saas.tenant.mapper.enterprise.RcEnterpriseGainSettingMapper;
import com.rc.saas.tenant.model.enterprise.RcEnterpriseGainGradeSetting;
import com.rc.saas.tenant.model.enterprise.RcEnterpriseGainSetting;
import com.rc.saas.tenant.model.enterprise.RcEnterpriseGainSettingExample;

import java.util.List;

public interface RcEnterpriseGainSettingService extends BaseService<Long, RcEnterpriseGainSetting, RcEnterpriseGainSettingExample, RcEnterpriseGainSettingMapper> {

    PageInfo<RcEnterpriseGainSetting> listPageEnterpriseGainSetting(String gainName, Integer pageNo, Integer pageSize);

    void addEnterpriseGainSetting(RcEnterpriseGainSetting enterpriseGainSetting, List<RcEnterpriseGainGradeSetting> grades);

    void updateEnterpriseGainSetting(RcEnterpriseGainSetting enterpriseGainSetting,
                                     List<RcEnterpriseGainGradeSetting> addGradeList,
                                     List<RcEnterpriseGainGradeSetting> editGradeList,
                                     List<Long> delGradeList);

    List<RcEnterpriseGainSetting> listGainSettingByLevel(String level);

    void deleteGainSetting(Long id);
}
